package ar.com.ctrln.services.contratacion;

import java.util.HashSet;
import java.util.List;
import java.util.Set;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import ar.com.ctrln.persistence.dao.contratacion.DetalleContratacionDao;
import ar.com.ctrln.persistence.model.contratacion.DetalleContratacion;
import ar.com.ctrln.persistence.model.contratacion.DetalleContratacionInternet;

@Service("gestorDetalleContratacion")
public class GestorDetalleContratacion {

	@Autowired
	private DetalleContratacionDao detalleContratacionDao;

	public DetalleContratacionInternet nuevoDetalle() {
		return new DetalleContratacionInternet();
	}

	public void guardar(DetalleContratacion detalle) {
		detalleContratacionDao.save(detalle);
	}

	public List<DetalleContratacion> listarDetalle() {
		return detalleContratacionDao.getList();
	}

	public Set<DetalleContratacion> listarDetalles() {
		Set<DetalleContratacion> detalles = new HashSet<DetalleContratacion>();
		for (DetalleContratacion d : detalleContratacionDao.getList()) {
			detalles.add(d);
		}
		return detalles;
	}

	public Set<DetalleContratacion> listarDetallesDeContratacion(long id) {
		Set<DetalleContratacion> detalles = new HashSet<DetalleContratacion>();
		for (DetalleContratacion d : detalleContratacionDao
				.findByContratacion(id)) {
			detalles.add(d);
		}
		return detalles;
	}

	public Set<DetalleContratacion> listarDetallesDeContratacion(long id,
			long idTipo) {
		Set<DetalleContratacion> detalles = new HashSet<DetalleContratacion>();
		for (DetalleContratacion d : detalleContratacionDao
				.findByContratacionTipoServicio(id, idTipo)) {
			detalles.add(d);
		}
		return detalles;
	}

	public void actualizar(DetalleContratacion detalle) {
		detalleContratacionDao.update(detalle);
	}
}
